1. Field of the Invention
The present invention relates generally to software activation and more specifically to secure generation and verification of keys for software feature activation.
2. Description of the Related Art
Large software applications typically include multiple features that may be activated individually. This allows a software application manufacturer to offer a customizable software application by activating selected groupings of features. One approach to selected feature activation includes the generation of keys by the software manufacturer that are created by applying a mathematical function to various customer defining data and activation data that identifies the feature or group of features to be activated. The customer then enters their data and the provided key to their copy of the software that verifies the key by applying this function to the customer-supplied data and comparing the result to the manufacturer-supplied key. Depending upon which feature data results in the manufacturer-supplied key, the software will know which feature to activate.
The inadequacy of current approaches is that it allows the possibility of a software hacker discovering the function used to generate a key and the feature-identification data since these pieces of information must be encoded in the software itself. With this information, the software hacker can easily generate their own key to activate software features without authorization.
Therefore, a need exists for a way to distribute software activation data securely. Secure keys for software activation in accordance with various aspects of the present invention meet such a need.